package com.liuyucheng.idea_springboot.mongodb.bean;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

//** 文章评论实体类

//把一个java类声明为mongodb的文档，可以通过collection参数指定这个类对应的文档。
// @Document(collection="mongodb 对应 collection 名")
// 若未加 @Document ，该 bean save 到 mongo 的 comment collection
// 若添加 @Document ，则 save 到 comment collection @Document(collection="comment")
// 可以省略，如果省略，则默认使用类名小写映射集合
@Document(collection="comment")
//MongoDB的复合索引
//@CompoundIndex(def = "{'userid':1, 'nickname': -1}")
@Data
public class Comment implements Serializable {

    @Id
    private String id;

    @Field("content")
    private String content;

    private Date publishtime;

    @Indexed
    private String userid;

    private String nickname;
    //昵称
    private LocalDateTime createdatetime;
    //评论的日期时间
    private Integer likenum;
    //点赞数
    private Integer replynum;
    //回复数
    private String state;
    //状态
    private String parentid;
    //上级ID
    private String articleid;

}
